]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
boxpointer: Properly update arrow side when requested
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 12 Mar 2026 10:32:40 +0000 (11:32 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 14 Mar 2026 17:48:00 +0000 (18:48 +0100)
Boxpointer tracks both the "user arrow side", which is the side
that was explicitly specified, and the "arrow side", which is the
actual side that may have been flipped due to space constraints.

However the former currently always keeps tracking the side that
was specified at construction time, even if it is explicitly
changed with `updateArrowSide()`.

That means that on allocation, the arrow side is reverted to its
original value again, unless the flip calculation happens to turn
it into the intended value.

This is unexpected, so update both current and intended arrow side
when updating the arrow side.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4120>
(cherry picked from commit ebdb6b8bcffea72005e5e959d7625aef37b4fa55)

js/ui/boxpointer.js

index 1fe2795beb1298a7eff11ca831349cd1cf05bbaf..497af07ecf70cb08a8ab09cfd72320d5fab1f02b 100644 (file)
@@ -666,7 +666,7 @@ export const BoxPointer = GObject.registerClass({
     }
 
     updateArrowSide(side) {
-        this._arrowSide = side;
+        this._arrowSide = this._userArrowSide = side;
         this.queue_relayout();
 
         this.emit('arrow-side-changed');